An efficient abstract machine for Safe Ambients
نویسندگان
چکیده
Safe Ambients (SA) are a variant of the Ambient Calculus (AC) in which types can be used to avoid certain forms of interferences among processes called grave interferences. An abstract machine, called GcPan, for a distributed implementation of typed SA is presented and studied. Our machine improves over previous proposals for executing AC, or variants of it, mainly through a better management of special agents (the forwarders), created upon code migration to transmit messages to the target location of the migration. Well-known methods (such as reference counting and union-find) are applied in order to garbage collect forwarders, thus avoiding long – possibly distributed – chains of forwarders, as well as avoiding useless persistent forwarders. The proof of correctness of GcPan, and a description of a distributed implementation of the abstract machine in OCaml are given. Correctness is established by proving a weak bisimilarity result between GcPan and a previous abstract machine for SA, and then appealing to the correctness of the latter machine. This is simpler than comparing GcPan directly with SA, but it involves reasoning modulo ‘administrative reduction steps’ in both machines and therefore standard techniques for simplifying proofs of weak bisimilarity results are not applicable. More broadly, this study is a contribution towards understanding issues of correctness and optimisations in implementations of distributed languages encompassing mobility.
منابع مشابه
A Correct Abstract Machine for Safe Ambients
We describe an abstract machine, called GcPan, for the distributed execution of Safe Ambients (SA), a variant of the Ambient Calculus (AC). Our machine improves over previous proposals for executing AC, or variants of it, mainly through a better management of special agents (forwarders), created upon code migration to transmit messages to the target location of the migration. We establish the c...
متن کاملSecure Safe Ambients and JVM Security
Safe Ambients are a variant of Cardelli and Gordon’s Mobile Ambients [CG98] proposed by Levi and Sangiorgi in [LS00]. The two calculi differ in the underlying notion of interaction: in Mobile Ambients interaction between ambients are “one-sided”, in that one of the two partners in a move or open action simply undergoes the action. In Safe ambients, instead, the reduction relation requires actio...
متن کاملA Distributed Abstract Machine for Safe Ambients
The Ambient calculus [4] is a model for mobile distributed computing. An ambient is the unit of movement. Processes within the same ambient may exchange messages; ambients may be nested, so to form a hierarchical structure. The three primitives for movement allow: an ambient to enter another ambient, n[ inm.P | Q ] | m[R ] −→ m[n[P | Q ] | R ]; an ambient to exit another ambient, m[n[ outm.P | ...
متن کاملA Distributed Abstract Machine for Boxed Ambient Calculi
Boxed ambient calculi have been used to model and reason about a wide variety of problems in mobile computing. Recently, several new variants of Boxed Ambients have been proposed, which seek to improve on the original calculus. In spite of these theoretical advances, there has been little research on how such calculi can be correctly implemented in a distributed environment. This paper bridges ...
متن کاملSafe Ambients: Abstract machine and distributed implementation
The abstract machine PAN for a distributed implementation of an ambient calculus is presented. PAN is different from, and simpler than, previous implementations of ambient-like calculi, mainly because: the underlying calculus is typed Safe Ambients (SA) rather than the untyped Ambient calculus and therefore does not present certain forms of interferences among processes (the grave interferences...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- J. Log. Algebr. Program.
دوره 71 شماره
صفحات -
تاریخ انتشار 2007